home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-10 | 14.9 KB | 473 lines | [TEXT/MPS ] |
- (*
- File: Windows.mod
-
- Contains: Window Manager Interfaces.
-
- Version: Technology: System 7.5
- Package: Universal Interfaces 2.0 in “MPW Latest” on ETO #17
-
- Copyright: © 1984-1995 by Apple Computer, Inc.
- All rights reserved.
-
- Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- stack. Include the file and version information (from above)
- in the problem description and send to:
- Internet: apple.bugs.applelink.apple.com
- AppleLink: APPLE.BUGS
-
- *)
-
- (*$IF UNDEFINED STRICT_WINDOWS*)
- (*$SET STRICT_WINDOWS FALSE*)
- (*$END*)
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE Windows;
-
- IMPORT SYSTEM, Types, Quickdraw, Events, Controls;
-
- (* $PUSH*)
- (* $ALIGN MAC68K*)
- (* $LibExport+*)
-
- CONST
- kStandardWindowDefinition* = 0; (* for document windows and dialogs*)
- kRoundWindowDefinition* = 1; (* old da-style window*)
- kFloatingWindowDefinition* = 124; (* for floating windows*)
-
- (*####################################################################################*)
- (**)
- (* Window Variant Codes*)
- (**)
- (*####################################################################################*)
- (* for use with kStandardWindowDefinition *)
- kModalDialogVariantCode* = 1;
- kMovableModalDialogVariantCode* = 5;
- (* for use with kFloatingWindowDefinition *)
- kSideFloaterVariantCode* = 8;
-
- (*####################################################################################*)
- (**)
- (* Old-style procIDs. For use only with New(C)Window*)
- (**)
- (*####################################################################################*)
- documentProc* = 0;
- dBoxProc* = 1;
- plainDBox* = 2;
- altDBoxProc* = 3;
- noGrowDocProc* = 4;
- movableDBoxProc* = 5;
- zoomDocProc* = 8;
- zoomNoGrow* = 12;
- rDocProc* = 16;
- (* floating window defproc ids *)
- floatProc* = 1985;
- floatGrowProc* = 1987;
- floatZoomProc* = 1989;
- floatZoomGrowProc* = 1991;
- floatSideProc* = 1993;
- floatSideGrowProc* = 1995;
- floatSideZoomProc* = 1997;
- floatSideZoomGrowProc* = 1999;
-
- (*####################################################################################*)
- (**)
- (* Standard window kinds*)
- (**)
- (*####################################################################################*)
- dialogKind* = 2;
- userKind* = 8;
- kDialogWindowKind* = 2;
- kApplicationWindowKind* = 8;
-
- (*####################################################################################*)
- (**)
- (* FindWindow result codes*)
- (**)
- (*####################################################################################*)
- inDesk* = 0;
- inMenuBar* = 1;
- inSysWindow* = 2;
- inContent* = 3;
- inDrag* = 4;
- inGrow* = 5;
- inGoAway* = 6;
- inZoomIn* = 7;
- inZoomOut* = 8;
-
- wDraw* = 0;
- wHit* = 1;
- wCalcRgns* = 2;
- wNew* = 3;
- wDispose* = 4;
- wGrow* = 5;
- wDrawGIcon* = 6;
-
- deskPatID* = 16;
-
- (*####################################################################################*)
- (**)
- (* Window Definition hit test result codes ("WindowPart")*)
- (**)
- (*####################################################################################*)
- wNoHit* = 0;
- wInContent* = 1;
- wInDrag* = 2;
- wInGrow* = 3;
- wInGoAway* = 4;
- wInZoomIn* = 5;
- wInZoomOut* = 6;
-
- TYPE
- WindowDefProcPtr* = (*ΔΔ Types.ProcPtr*) PROCEDURE(varCode: INTEGER; theWindow: Quickdraw.WindowRef; message: INTEGER; param: LONGINT): LONGINT;
- (*
- DeskHookProcPtr uses register based parameters on the 68k and cannot
- be written in or called from a high-level language without the help of
- mixed mode or assembly glue.
-
- In:
- => mouseClick D0.B
- => *theEvent A0.L
- *)
- DeskHookProcPtr* = Types.Register68kProcPtr; (* register PROCEDURE DeskHook*(mouseClick: BOOLEAN; VAR theEvent: Events.EventRecord); *)
- WindowDefUPP* = Types.UniversalProcPtr;
- DeskHookUPP* = Types.UniversalProcPtr;
-
- CONST
- uppWindowDefProcInfo* = $00003BB0; (* PROCEDURE (2 byte param, 4 byte param, 2 byte param, 4 byte param): 4 byte result; *)
- uppDeskHookProcInfo* = $00130802; (* Register PROCEDURE (1 byte in D0, 4 bytes in A0); *)
-
- PROCEDURE NewWindowDefProc*(userRoutine: WindowDefProcPtr): WindowDefUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewDeskHookProc*(userRoutine: DeskHookProcPtr): DeskHookUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE CallWindowDefProc*(varCode: INTEGER; theWindow: Quickdraw.WindowRef; message: INTEGER; param: LONGINT; userRoutine: WindowDefUPP): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallDeskHookProc*(mouseClick: BOOLEAN; VAR theEvent: Events.EventRecord; userRoutine: DeskHookUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL ; (*••*)
- (*To be implemented: Glue to move parameters into registers.*)
- (*$END*)
- PROCEDURE GetGrayRgn*(): Quickdraw.RgnHandle;
- (*$IF NOT CFMSYSTEMCALLS*)
- INLINE PASCAL $2EB8, $09EE; (* MOVE.l $09EE,(SP) *)
- (*$END*)
-
-
- TYPE
- WinCTab* = RECORD
- wCSeed*: LONGINT; (*reserved*)
- wCReserved*: INTEGER; (*reserved*)
- ctSize*: INTEGER; (*usually 4 for windows*)
- ctTable*: ARRAY 5 (*ΔΔ[0..4]ΔΔ*) OF Quickdraw.ColorSpec;
- END;
-
- WCTabPtr* = POINTER TO WinCTab;
- WCTabHandle* = HANDLE TO WinCTab (*ΔΔ POINTER TO WCTabPtr*);
-
-
- PROCEDURE InitWindows*;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A912;
- (*$END*)
- PROCEDURE GetWMgrPort*(VAR wPort: Quickdraw.GrafPtr);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A910;
- (*$END*)
- PROCEDURE NewWindow*(wStorage: (*ΔΔUNIVΔΔ*) Types.Ptr; (*CONST*)VAR boundsRect: Types.Rect; title: Types.ConstStr255Param; visible: BOOLEAN; theProc: INTEGER; behind: Quickdraw.WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT): Quickdraw.WindowRef;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A913;
- (*$END*)
- PROCEDURE GetNewWindow*(windowID: INTEGER; wStorage: (*ΔΔUNIVΔΔ*) Types.Ptr; behind: Quickdraw.WindowRef): Quickdraw.WindowRef;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A9BD;
- (*$END*)
- PROCEDURE CloseWindow*(theWindow: Quickdraw.WindowRef);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A92D;
- (*$END*)
- PROCEDURE DisposeWindow*(theWindow: Quickdraw.WindowRef);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A914;
- (*$END*)
- PROCEDURE GetWTitle*(theWindow: Quickdraw.WindowRef; VAR title: Types.Str255);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A919;
- (*$END*)
- PROCEDURE SelectWindow*(theWindow: Quickdraw.WindowRef);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A91F;
- (*$END*)
- PROCEDURE HideWindow*(theWindow: Quickdraw.WindowRef);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A916;
- (*$END*)
- PROCEDURE ShowWindow*(theWindow: Quickdraw.WindowRef);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A915;
- (*$END*)
- PROCEDURE ShowHide*(theWindow: Quickdraw.WindowRef; showFlag: BOOLEAN);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A908;
- (*$END*)
- PROCEDURE HiliteWindow*(theWindow: Quickdraw.WindowRef; fHilite: BOOLEAN);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A91C;
- (*$END*)
- PROCEDURE BringToFront*(theWindow: Quickdraw.WindowRef);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A920;
- (*$END*)
- PROCEDURE SendBehind*(theWindow: Quickdraw.WindowRef; behindWindow: Quickdraw.WindowRef);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A921;
- (*$END*)
- PROCEDURE FrontWindow*(): Quickdraw.WindowRef;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A924;
- (*$END*)
- PROCEDURE DrawGrowIcon*(theWindow: Quickdraw.WindowRef);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A904;
- (*$END*)
- PROCEDURE MoveWindow*(theWindow: Quickdraw.WindowRef; hGlobal: INTEGER; vGlobal: INTEGER; front: BOOLEAN);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A91B;
- (*$END*)
- PROCEDURE SizeWindow*(theWindow: Quickdraw.WindowRef; w: INTEGER; h: INTEGER; fUpdate: BOOLEAN);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A91D;
- (*$END*)
- PROCEDURE ZoomWindow*(theWindow: Quickdraw.WindowRef; partCode: INTEGER; front: BOOLEAN);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A83A;
- (*$END*)
- PROCEDURE InvalRect*((*CONST*)VAR badRect: Types.Rect);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A928;
- (*$END*)
- PROCEDURE InvalRgn*(badRgn: Quickdraw.RgnHandle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A927;
- (*$END*)
- PROCEDURE ValidRect*((*CONST*)VAR goodRect: Types.Rect);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A92A;
- (*$END*)
- PROCEDURE ValidRgn*(goodRgn: Quickdraw.RgnHandle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A929;
- (*$END*)
- PROCEDURE BeginUpdate*(theWindow: Quickdraw.WindowRef);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A922;
- (*$END*)
- PROCEDURE EndUpdate*(theWindow: Quickdraw.WindowRef);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A923;
- (*$END*)
- PROCEDURE SetWRefCon*(theWindow: Quickdraw.WindowRef; data: LONGINT);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A918;
- (*$END*)
- PROCEDURE GetWRefCon*(theWindow: Quickdraw.WindowRef): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A917;
- (*$END*)
- PROCEDURE SetWindowPic*(theWindow: Quickdraw.WindowRef; pic: Quickdraw.PicHandle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A92E;
- (*$END*)
- PROCEDURE GetWindowPic*(theWindow: Quickdraw.WindowRef): Quickdraw.PicHandle;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A92F;
- (*$END*)
- PROCEDURE CheckUpdate*(VAR theEvent: Events.EventRecord): BOOLEAN;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A911;
- (*$END*)
- PROCEDURE ClipAbove*(window: Quickdraw.WindowRef);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A90B;
- (*$END*)
- PROCEDURE SaveOld*(window: Quickdraw.WindowRef);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A90E;
- (*$END*)
- PROCEDURE DrawNew*(window: Quickdraw.WindowRef; update: BOOLEAN);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A90F;
- (*$END*)
- PROCEDURE PaintOne*(window: Quickdraw.WindowRef; clobberedRgn: Quickdraw.RgnHandle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A90C;
- (*$END*)
- PROCEDURE PaintBehind*(startWindow: Quickdraw.WindowRef; clobberedRgn: Quickdraw.RgnHandle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A90D;
- (*$END*)
- PROCEDURE CalcVis*(window: Quickdraw.WindowRef);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A909;
- (*$END*)
- PROCEDURE CalcVisBehind*(startWindow: Quickdraw.WindowRef; clobberedRgn: Quickdraw.RgnHandle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A90A;
- (*$END*)
- PROCEDURE GrowWindow*(theWindow: Quickdraw.WindowRef; startPt: Types.Point; (*CONST*)VAR bBox: Types.Rect): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A92B;
- (*$END*)
- PROCEDURE FindWindow*(thePoint: Types.Point; VAR theWindow: Quickdraw.WindowRef): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A92C;
- (*$END*)
- PROCEDURE PinRect*((*CONST*)VAR theRect: Types.Rect; thePt: Types.Point): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A94E;
- (*$END*)
- PROCEDURE DragGrayRgn*(theRgn: Quickdraw.RgnHandle; startPt: Types.Point; (*CONST*)VAR limitRect: Types.Rect; (*CONST*)VAR slopRect: Types.Rect; axis: INTEGER; actionProc: Quickdraw.DragGrayRgnUPP): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A905;
- (*$END*)
- PROCEDURE DragTheRgn*(theRgn: Quickdraw.RgnHandle; startPt: Types.Point; (*CONST*)VAR limitRect: Types.Rect; (*CONST*)VAR slopRect: Types.Rect; axis: INTEGER; actionProc: Quickdraw.DragGrayRgnUPP): LONGINT;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A926;
- (*$END*)
- PROCEDURE TrackBox*(theWindow: Quickdraw.WindowRef; thePt: Types.Point; partCode: INTEGER): BOOLEAN;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A83B;
- (*$END*)
- PROCEDURE GetCWMgrPort*(VAR wMgrCPort: Quickdraw.CGrafPtr);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $AA48;
- (*$END*)
- PROCEDURE SetWinColor*(theWindow: Quickdraw.WindowRef; newColorTable: WCTabHandle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $AA41;
- (*$END*)
- PROCEDURE SetDeskCPat*(deskPixPat: Quickdraw.PixPatHandle);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $AA47;
- (*$END*)
- PROCEDURE NewCWindow*(wStorage: (*ΔΔUNIVΔΔ*) Types.Ptr; (*CONST*)VAR boundsRect: Types.Rect; title: Types.ConstStr255Param; visible: BOOLEAN; procID: INTEGER; behind: Quickdraw.WindowRef; goAwayFlag: BOOLEAN; refCon: LONGINT): Quickdraw.WindowRef;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $AA45;
- (*$END*)
- PROCEDURE GetNewCWindow*(windowID: INTEGER; wStorage: (*ΔΔUNIVΔΔ*) Types.Ptr; behind: Quickdraw.WindowRef): Quickdraw.WindowRef;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $AA46;
- (*$END*)
- PROCEDURE GetWVariant*(theWindow: Quickdraw.WindowRef): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A80A;
- (*$END*)
- PROCEDURE SetWTitle*(theWindow: Quickdraw.WindowRef; title: Types.ConstStr255Param);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A91A;
- (*$END*)
- PROCEDURE TrackGoAway*(theWindow: Quickdraw.WindowRef; thePt: Types.Point): BOOLEAN;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A91E;
- (*$END*)
- PROCEDURE DragWindow*(theWindow: Quickdraw.WindowRef; startPt: Types.Point; (*CONST*)VAR boundsRect: Types.Rect);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A925;
- (*$END*)
- (*$IF NOT STRICT_WINDOWS *)
-
- TYPE
- WindowPeek* = POINTER TO WindowRecord;
-
- WindowRecord* = RECORD
- port*: Quickdraw.GrafPort;
- windowKind*: INTEGER;
- visible*: BOOLEAN;
- hilited*: BOOLEAN;
- goAwayFlag*: BOOLEAN;
- spareFlag*: BOOLEAN;
- strucRgn*: Quickdraw.RgnHandle;
- contRgn*: Quickdraw.RgnHandle;
- updateRgn*: Quickdraw.RgnHandle;
- windowDefProc*: Types.Handle;
- dataHandle*: Types.Handle;
- titleHandle*: Types.StringHandle;
- titleWidth*: INTEGER;
- controlList*: Controls.ControlRef;
- nextWindow*: WindowPeek;
- windowPic*: Quickdraw.PicHandle;
- refCon*: LONGINT;
- END;
-
- CWindowPeek* = POINTER TO CWindowRecord;
-
- CWindowRecord* = RECORD
- port*: Quickdraw.CGrafPort;
- windowKind*: INTEGER;
- visible*: BOOLEAN;
- hilited*: BOOLEAN;
- goAwayFlag*: BOOLEAN;
- spareFlag*: BOOLEAN;
- strucRgn*: Quickdraw.RgnHandle;
- contRgn*: Quickdraw.RgnHandle;
- updateRgn*: Quickdraw.RgnHandle;
- windowDefProc*: Types.Handle;
- dataHandle*: Types.Handle;
- titleHandle*: Types.StringHandle;
- titleWidth*: INTEGER;
- controlList*: Controls.ControlRef;
- nextWindow*: CWindowPeek;
- windowPic*: Quickdraw.PicHandle;
- refCon*: LONGINT;
- END;
-
- WStateData* = RECORD
- userState*: Types.Rect; (*user state*)
- stdState*: Types.Rect; (*standard state*)
- END;
-
- WStateDataPtr* = POINTER TO WStateData;
- WStateDataHandle* = HANDLE TO WStateData (*ΔΔ POINTER TO WStateDataPtr*);
-
- AuxWinPtr* = POINTER TO AuxWinRec;
- AuxWinHandle* = HANDLE TO AuxWinRec (*ΔΔ POINTER TO AuxWinPtr*);
-
- AuxWinRec* = RECORD
- awNext*: AuxWinHandle; (*handle to next AuxWinRec*)
- awOwner*: Quickdraw.WindowRef; (*ptr to window *)
- awCTable*: Quickdraw.CTabHandle; (*color table for this window*)
- reserved*: Types.UInt32; (* *)
- awFlags*: LONGINT; (*reserved for expansion*)
- awReserved*: Quickdraw.CTabHandle; (*reserved for expansion*)
- awRefCon*: LONGINT; (*user Constant*)
- END;
-
-
- PROCEDURE GetAuxWin*(theWindow: Quickdraw.WindowRef; VAR awHndl: AuxWinHandle): BOOLEAN;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $AA42;
- (*$END*)
-
- CONST
- wContentColor* = 0;
- wFrameColor* = 1;
- wTextColor* = 2;
- wHiliteColor* = 3;
- wTitleBarColor* = 4;
-
- (*$END*)
-
- (* $ALIGN RESET*)
- (* $POP*)
-
- END Windows.
-